<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="keywords" content="异新U 异新u Linux,Windows服务器维护;网站开发;LAMP服务器维护,湖南服务器维护网,专业linux服务器维护,centos redhat ubuntu windows服务器维护,湖南IT外包公司,服务项目" />
<meta name="description" content="异新U 异新u面向中小企业和个人提供专业IT外包服务，包括服务器、工作站软件维护、硬件检测服务。windows，linux,centos系统包年维护。湖南服务器维护网。,湖南服务器维护网-湖南地区专业的linux服务器维护商" />
<!--作者：向露  Email:158026647597@139.com  QQ:316686606-->
    <link rel="stylesheet" type="text/css" href="http://www.yixinu.com/skis/templates/include/newCascadeStyleSheet.css" />
    <script type="text/javascript" src="http://www.yixinu.com/skis/templates/include/newjavascript.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<title>专业服务器维护 网站建设 Linux服务器维护 企业局域网建设 企业级邮件系统建设 异新U 湖南地区</title>
</head>
<body>
    <div class="h20 top1"></div>
    <div class="header1" id="header1" >
        <div class="logo1"><a href="#"><img src="http://www.yixinu.com/skis/templates/include/yxu-logo.png" /></a></div>
        <div class="channel1 h40" id="channel1">
            <ul class="channel2">
                <li><a href="http://www.yixinu.com/">首页</a></li>
                                <li><a id="19"  href="/content/19.html">服务项目</a></li>
                                <li><a id="23"  href="/channel/23.html">技术文档</a></li>
                                <li><a id="32"  href="/channel/32.html">wiki</a></li>
                                <li><a id="30"  href="/content/30.html">关于我们</a></li>
                            </ul>
        </div>
    </div>
    <div class="h10"></div>
    <div class="h140"><div class="w990 content_sty1">Our Servers</div></div>
    <div class="h10"></div>
<div class="content2" id="content2">
    <div class="w70"><p><font class="myfont2">从谷歌宕机事件认识互联网工作原理</font></p><br /><div class="h110"></div><br /><p style="text-align:left;text-indent:2em;">译者注：本文中提到CloudFlare是一家总部位于美国旧金山的内容分发网络(CDN)服务公司，由Project Honey Pot项目的三位前开发人员成立于2009年。2011年10月被华尔街日报评为最具创新精神的网络科技公司。</p><p style="text-align:left;text-indent:2em;">今天，谷歌的服务经历了短暂的宕机事件，持续大概27分钟，对部分地区的互联网用户造成了影响。此次事件的原因深究起来需要进入互联网络那深邃的、 黑暗的角落。我是CloudFlare公司的一名网络工程师，在帮助谷歌从此次宕机中恢复回来提供了一臂之力。下面就是事情发生的过程。</p><p style="text-align:left;text-indent:2em;">大约在太平洋标准时间2012年11月5号下午6：24分/时间标准时间2012年11月6号凌晨2：24分，CloudFlare的员工发现谷歌 的服务中断了。我们使用谷歌的电子邮件等服务，所以，当它的服务不正常时，办公室的人会很快发现。我在网络技术小组工作，因此我立刻接上网络查看是什么情 况——是局部区域问题还是全球问题。</p><p style="text-align:left;text-indent:2em;"><strong>问题排查</strong></p><p style="text-align:left;text-indent:2em;">我很快就意识到，所有谷歌的服务我们都不能连接上——甚至包括连接 8.8.8.8，谷歌的公共DNS服务器——于是，我从追查DNS开始。</p><table style="border-bottom:#cccccc 1px dotted;border-left:#cccccc 1px dotted;table-layout:fixed;border-top:#cccccc 1px dotted;border-right:#cccccc 1px dotted" align="center" border="0" cellpadding="6" cellspacing="0" width="95%"><tbody><tr><td style="word-wrap:break-word" bgcolor="#fdfddf"><span style="color:#ff0000;">$ dig +trace google.com</span></td></tr></tbody></table><p style="clear:both;text-align:left;text-indent:2em;">下面是我在探测Google.com的域名服务器时得到的回复：</p><pre><ol><li><p style="text-align:left;text-indent:2em;">google.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;172800 &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp; &nbsp;ns2.google.com. &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">google.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;172800 &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp; &nbsp;ns1.google.com. &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">google.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;172800 &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp; &nbsp;ns3.google.com. &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">google.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;172800 &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp; &nbsp;ns4.google.com. &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">;; Received 164 bytes from 192.12.94.30#53(e.gtld-servers.net) in 152 ms &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> </p></li><li><p style="text-align:left;text-indent:2em;">;; connection timed out; no servers could be reached </p></li></ol></pre><p style="text-align:left;text-indent:2em;">无法探测到任何服务器的结果证明确实有什么地方出了问题。尤其是，这意味着从我们的办公室将连接不到任何的谷歌DNS服务器。</p><p style="text-align:left;text-indent:2em;">我开始网络层查找问题，看看是否是在这个通信层出了问题。</p><pre><ol><li><p style="text-align:left;text-indent:2em;">PING 216.239.32.10 (216.239.32.10): 56 data bytes &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">Request timeout for icmp_seq 0 &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">92 bytes from 1-1-15.edge2-eqx-sin.moratelindo.co.id (202.43.176.217): </p></li></ol></pre><p style="text-align:left;text-indent:2em;">这里出现了奇怪的信息。通常，我们不应该在谷歌的路由信息中看到一个印度尼西亚的网络服务提供商(Moratel)的名字。我立即进入一个 CloudFlare的路由器中查看发生了什么事。与此同时，Twitter上世界其它地方的报告显示了我们并不是唯一遇到问题的地方。</p><p style="text-align:left;text-indent:2em;"><strong>互联网路由</strong></p><p style="text-align:left;text-indent:2em;">为了理解是出了什么问题，你需要知道一些互联网是如何工作的基础知识。整个互联网是由很多的网络组成，这些网络被称为是“自治系统(AS)”。每个 网络都有一个唯一的数字来标志自己，被称为AS号。CloudFlare的AS号是13335，谷歌的AS号是15169。各个网络通过一种叫做边缘网关 协议(BGP)的技术互相连接。边缘网关协议被称为是互联网的粘合剂——由它来声明哪个IP地址属于哪个网络，由它来建立从某个自治网络到另外一个自治网 络的路由。一个互联网“路由”跟这个词的表意完全一样：由一个自治网络里的IP地址到另外一个自治网络里的另一个IP地址的路径。</p><p style="text-align:left;text-indent:2em;">边缘网关协议是基于一个相互信任的体制。各个网络基于信任的原则告诉其它网络哪个IP地址属于哪个网络。当你发送一个数据包，或发送一个穿越网络的请求，你的网络服务提供商会联系它的上游提供商或对等提供商，询问它们从你的网络服务提供商到网络目的地，哪条路线最近。</p><p style="text-align:left;text-indent:2em;">不幸的是，如果当一个网络发出声明说某个IP地址或某个网络在它的内部，而事实不是这样，如果它的上游网络或对等网络信任了它，那么，这个数据包最终将会迷路丢失。这里发生的就是这个问题。</p><p style="text-align:left;text-indent:2em;">我查看了边缘网关协议传递的谷歌IP的路由地址，路由指向了Moratel (23947)，一个印度尼西亚的网络服务提供商。我们的办公室在加利福尼亚，离谷歌的数据中心并不远，数据包绝不应该经过印度尼西亚。很有可能是，Moratel声明了一个错误的网络路由。</p><p style="text-align:left;text-indent:2em;">当时我看到的边缘网关协议发来的路由是：</p><pre><ol><li><p style="text-align:left;text-indent:2em;">tom@edge01.sfo01<span>&gt;</span> show route 216.239.34.10 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> </p></li><li><p style="text-align:left;text-indent:2em;">inet.0: 422168 destinations, 422168 routes (422154 active, 0 holddown, 14 hidden) &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">+ = Active Route, <span>-</span> = <span>Last</span> Active, * = Both &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> </p></li><li><p style="text-align:left;text-indent:2em;">216.239.34.0/24 &nbsp; &nbsp;*[BGP/170] 00:15:47, MED 18, localpref 100 &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AS path: 4436 3491 23947 15169 I &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>&gt;</span> to 69.22.153.1 via ge-1/0/9.0 </p></li></ol></pre><p style="text-align:left;text-indent:2em;">我查看了其它路由，比如谷歌的公共DNS，它同样被劫持到了相同的(不正确的)路径：</p><pre><ol><li><p style="text-align:left;text-indent:2em;">tom@edge01.sfo01<span>&gt;</span> show route 8.8.8.8 &nbsp; </p></li><li><p style="text-align:left;text-indent:2em;"> </p></li><li><p style="text-align:left;text-indent:2em;">inet.0: 422196 destinations, 422196 routes (422182 active, 0 holddown, 14 hidden) &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;">+ = Active Route, <span>-</span> = <span>Last</span> Active, * = Both &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> </p></li><li><p style="text-align:left;text-indent:2em;">8.8.8.0/24 &nbsp; &nbsp; &nbsp; &nbsp; *[BGP/170] 00:27:02, MED 18, localpref 100 &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AS path: 4436 3491 23947 15169 I &nbsp;</p></li><li><p style="text-align:left;text-indent:2em;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span>&gt;</span> to 69.22.153.1 via ge-1/0/9.0 </p></li></ol></pre><p style="text-align:left;text-indent:2em;"><strong>路由泄漏</strong></p><p style="text-align:left;text-indent:2em;">像这样的问题在行业内被认为是起源于“路由泄漏”，不是正常的，而是“泄漏”出来的路由。这种事情并不是没有先例。谷歌之前曾遭受过类似的宕机事件，当时推测是巴基斯坦为了禁止YouTube上的一个视频，巴基斯坦国家ISP删除了YouTube网站的路由信息。不幸的是，他们的这种做法被传递到了外 部，巴基斯坦电信公司的上游提供商——电讯盈科(PCCW)信任了巴基斯坦电信公司的做法，把这种路由方式传递到了整个互联网。这个事件导致了 YouTube网站大约2个小时不能访问。</p><p style="text-align:center"><a target="_blank" href="http://images.51cto.com/files/uploadimg/20121127/1006210.png"><img style="float:none;" src="/ueditor/php/upload/22661355236220.png" border="0" height="375" width="498" /></a></p><p style="text-align:left;text-indent:2em;">今天发生的事情属于类似情况。在Moratel公司的某个人很可能是“胖手指”，输错了互联网路由。而电讯盈科，Moratel公司的上游提供商，信任了Moratel公司传递给他们的路由。很快，这错误的路由就传到了整个互联网。在边缘网关协议这种信任模式中，与其说这是恶意的行为，不如说这是误操作或失误。</p><p style="text-align:left;text-indent:2em;"><strong>修复</strong></p><p style="text-align:left;text-indent:2em;">解决方案就是让Moratel公司停止声明错误的路由。作为一个网络工程师，尤其是像CloudFlare这样的大网络公司里工作的工程师，很大一部分工作就是和其它世界各地的网络工程师保持联络。当探明问题后，我联系到了Moratel公司的一位同事，告诉他发生了什么事。他大概在太平洋标准时间 下午6：50分/世界标准时间凌晨2：50分修复了这个问题。3分钟后，路由恢复了正常，谷歌的服务重新可以工作了。</p><p style="text-align:left;text-indent:2em;">从网络传输图上观察，我估计全球整个互联网用户的3-5%收到了此次宕机事故的影响。重灾区是香港，因为那是电讯盈科的总部。如果你所处的地区在当时无法访问谷歌的服务，你现在应该知道是什么原因了。</p><p style="text-align:left;text-indent:2em;"><strong>构建更好的互联网</strong></p><p style="text-align:left;text-indent:2em;">我说这些就是想让大家知道我们的互联网上如何在一个相互信任的机制下建立起来的。今天的事故说明，即使你是一个像谷歌这样的大公司，外部你无法掌控的因素也会影响到你的用户，让他们无法访问你，所以，一个网络技术小组是非常必要的，由他们来监控路由，管理你与世界的联系。CloudFlare公司每天的工作就是确保客户得到最佳的路由。我们照看互联网上的所有网站，确保他们的以最快传输速度提供服务。今天的事情只是我们工作内容的一个小片段。</p><p style="text-align:left;text-indent:2em;">[本文英文原文链接：Why Google Went Offline Today and a Bit about How the Internet Works ]</p><p><br /></p></div>
    <div class="w28">
    <div class="w100">
    <div class="channel_title1"><div class="channel_title1_b2"><img src="http://www.yixinu.com/skis/templates/include/yxu-ico.png" /></div><div class="channel_title1_b1">最近文档</div></div>
    <div class="channel4">
        <ul>
                        <li><a href="/readarticle/23/artid/23.html" title="三层网络结构">三层网络结构</a></li>
                        <li><a href="/readarticle/23/artid/22.html" title="网络虚拟化以不变应万变，应对企业园区网新挑战">网络虚拟化以不变应万变，...</a></li>
                        <li><a href="/readarticle/32/artid/21.html" title="25个必须记住的SSH命令，你用过了吗？">25个必须记住的SSH命...</a></li>
                        <li><a href="/readarticle/32/artid/20.html" title="为何用/usr/bin/env">为何用/usr/bin/env</a></li>
                        <li><a href="/readarticle/23/artid/19.html" title="数据中心发展史：1960年到2010年">数据中心发展史：1960...</a></li>
                        <li><a href="/readarticle/23/artid/18.html" title="浅谈开源世界的未来">浅谈开源世界的未来</a></li>
                        <li><a href="/readarticle/23/artid/17.html" title="从网购到火车票，浅析淘宝和12306的技术架构">从网购到火车票，浅析淘宝...</a></li>
                        <li><a href="/readarticle/23/artid/16.html" title="一个程序员对职业生涯的思考">一个程序员对职业生涯的思考</a></li>
                        <li><a href="/readarticle/23/artid/15.html" title="MySQL创立者：云计算必须建立在开源之上">MySQL创立者：云计算...</a></li>
                        <li><a href="/readarticle/23/artid/14.html" title="WordPress如何管理94个国家的员工？">WordPress如何管...</a></li>
                    </ul>
    </div>
</div>        <div class="w100">
    <div class="h40 w100"></div>
    <div class="channel_title1"><div class="channel_title1_b2"><img src="http://www.yixinu.com/skis/templates/include/yxu-ico.png" /></div><div class="channel_title1_b1">联系我们</div></div>
    <div class="channel4">
        <ul>
            <li>异新U : <a  class="myfont1" href="http://www.yixinu.com">www.yixinu.com</a></li><li>联系电话 : <font class="myfont1">15802647597</font></li><li>联系电话 : <font class="myfont1">18684694187</font></li><li>QQ : 316686606</li><li>邮箱 : <font class="myfont1">15802647597@139.com</font></li>
        </ul>
    </div>
</div>    </div>
</div>
    <!--footer-->
    <div class="footer2"></div>
    <div class="footer" id="footer">
        <div class="footer4 w100"></div>
        <div class="h40 w990 footer3">友情链接</div>
        <div class="footer_channel">
            <LI><A target="_blank" href="http://tech.sina.com.cn/">新浪科技</A></LI>
            <LI><A target="_blank" href="http://tech.qq.com/">腾讯科技</A></LI>
            <LI><A target="_blank" href="http://tech.163.com/"><FONT color=#ff1111>网易科技</FONT></A></LI>
            <li><a target="_blank" href="http://www.51cto.com/">51cto</a></li>
            <li><a target="_blank" href="http://www.chinaunix.net/">unix技术网</a></li>
            <LI><A target="_blank" href="http://tech.ifeng.com/">凤凰科技</A></LI>
            <LI><A target="_blank" href="http://www.ciweekly.com/">互联网周刊</A></LI>
            <LI><A target="_blank" href="http://www.mydrivers.com/">驱动之家</A></LI>
            <LI><A target="_blank" href="http://www.iresearch.cn/">艾瑞网</A></LI>
            <LI><A target="_blank" href="http://www.chinaz.com/">站长之家</A></LI>
            <LI><A target="_blank" href="http://bbs.yhcgo.com/">皇朝软件</A></LI>
            <LI><A target="_blank" href="http://www.cnmo.com/">手机中国</A></LI>
            <LI><A target="_blank" href="http://www.hiapk.com/">安卓网</A></LI>
            <LI><A target="_blank" href="http://www.cet.com.cn/">中国经济新闻网 </A></LI>
            <LI><A target="_blank" href="http://www.kejixun.com/">科技讯</A></LI>
        </div>
        
        <script type="text/javascript">setwidth();var var1=new Array('23','31');</script>
        <script type="text/javascript" src="http://www.yixinu.com/skis/templates/include/newjavascript1.js"></script>
<script src="http://s19.cnzz.com/stat.php?id=4871335&web_id=4871335&show=pic" language="JavaScript"></script>
    </div>
</body>
</html>